ScanDeviceManager SendCorrectionData
Sends a new correction table to the specified device.
The correction tables are automatically loaded for use when the SMC powers up. This method allows overriding the default tables with new ones, which can be further fine-tuned using the adjustment parameters. The new correction data will be available immediately for use. The command also provides support for manipulating all three-axis correction files.
Note that tables loaded using this method are not permanent and will be lost after an SMC power-cycle.
Overloads
public void SendCorrectionData(string deviceName, uint uiTableId, string strCorrTableFileName, double dScaleX, double dScaleY, double dRotation, double dDx, double dDy, uint uiTimeout, bool bWaitForAck) |
public void SendCorrectionData(string deviceName, uint uiTableId, string pstrCorrTableFileName, double dM00, double dM01, double dM10, double dM11, double dDx, double dDy, uint uiTimeout, bool bWait) |
public void SendCorrectionData(string deviceName, uint uiTableId, string strCorrTableFileName, double dScaleX, double dScaleY, double dRotationX, double dRotationY, double dRotationZ, double dDx, double dDy, double dDz, uint uiTimeout, bool bWaitForAck) |
Return value
void |
Parameters
string | deviceName | The unique name of the device. |
uint | uiTableId | Correction Table ID: 1, 2, 3, 4 |
string | strCorrTableFileName | Full path to Correction table data file on the PC |
string | pstrCorrTableFileName | Full path to Correction table data file on the PC |
double | dRotation | Rotation in degrees XY plane (Positive is counter-clockwise) |
double | dM00 | 2x2 transformation Matrix coefficient |
double | dM01 | 2x2 transformation Matrix coefficient |
double | dM10 | 2x2 transformation Matrix coefficient |
double | dM11 | 2x2 transformation Matrix coefficient |
double | dDx | X offset (mm) |
double | dDy | Y offset (mm) |
double | dDz | Z offset (mm) |
double | dScaleX | X scale factor |
double | dScaleY | Y scale factor |
double | dRotationX | Rotation in degrees about the X axis (Tip) (Positive is counter-clockwise) |
double | dRotationY | Rotation in degrees about the Y axis (Tilt) (Positive is counter-clockwise) |
double | dRotationZ | Rotation in degrees about the Z axis (Theta) (Positive is counter-clockwise) |
uint | uiTimeout | Duration for attempting call in seconds. The special case of zero means to wait an infinite duration. |
bool | bWaitForAck | If set to TRUE, the function does not return until a reception acknowlegement is received from the SMC. Otherwise, data packets are queued for execution. |
Exceptions
Example
Copy
string deviceName = GetselectedDeviceUniqueName();
uint uiTableId = 1;
string correctionfile = @"D:\100mmField.xml"; // update to your file
double dScaleX = 1;
double dScaleY = 1;
double dRotation = 0;
double dDx = 0;
double dDy = 0;
uint uiTimeout = 500;
bool waitforAck = false;
scanDeviceManager.SendCorrectionData(deviceName, uiTableId, correctionfile, dScaleX, dScaleY, dRotation, dDx, dDy, uiTimeout, waitforAck);